package cc.rengu.igas.bsps.common.dao;


import cc.rengu.igas.bsps.common.entity.MchntApplyInfo;
import cc.rengu.oltp.utility.bean.PageInfo;
import cc.rengu.oltp.utility.bean.PageResult;

import java.util.List;

public interface BspsMchntApplyMapper {

    /**
     * 商户申请入驻申请
     *
     * @return 插入操作的结果
     * @throws Exception 数据库操作错误
     */
    int insertBspsMchntApplyInfo(MchntApplyInfo mchntApplyInfo) throws Exception;

    /**
     * 根据主键更新商户申请信息
     *
     * @param mchntApplyInfo 商户申请信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateBspsMchntApplyInfoByPrimaryKey(MchntApplyInfo mchntApplyInfo) throws Exception;

    /**
     * 根据主键查询商户申请信息
     *
     * @param instId  多法人标识
     * @param applyId 申请ID
     * @return 商户申请信息
     * @throws Exception 异常
     */
    MchntApplyInfo selectBspsMchntApplyInfoByPrimaryKey(String instId, String applyId) throws Exception;

    /**
     * 根据拓展经理工号查询商户申请信息
     *
     * @param instId    多法人标识
     * @param managerId 拓展经理工号
     * @return 商户申请信息
     * @throws Exception 异常
     */
    List<MchntApplyInfo> selectBspsMchntInfoByManagerId(String instId, String managerId) throws Exception;

    /**
     * 根据拓展经理工号查询商户申请信息(分页)
     *
     * @param instId    多法人标识
     * @param managerId 拓展经理工号
     * @return 商户申请信息
     * @throws Exception 异常
     */
    PageResult selectBspsMchntInfoByManagerIdPage(String instId, String managerId, PageInfo pageInfo) throws Exception;

}
